/* @flow */

import { warn } from 'core/util/index'

export * from './attrs'
export * from './class'
export * from './element'

/**
 * Query an element selector if it's not an element already.
 */
export function query (el: string | Element): Element {
  // 如果el是字符，那么传进来的值就是选择器，然后用document.querySelector获取dom对象
  if (typeof el === 'string') {
    const selected = document.querySelector(el)
    // 如果没有找到dom元素，
    if (!selected) {
      // 判断环境，是不是生产环境，不是生产环境就打印错误
      process.env.NODE_ENV !== 'production' && warn(
        'Cannot find element: ' + el
      )
      // 如果是生产环境就创建一个dom对象
      return document.createElement('div')
    }
    return selected
  } else {
    // 如果是dom对象就直接返回
    return el
  }
}
